为什么是三次握手?
答:因为客户端发送第三次信息只是知道自己发出,并不知道对方是否接手。所以要想知道就得服务器回信(第四次)。现在服务器知道自己回信,但是不知道客户端是否已经收到。所以又需要客户端回信(第五次)。这样反反复复,还不如三次。
三次握手过程解读。
三次握手,刚好让客户端和服务端对自己的发送/接收能力,对对方的发送/接收能力做一次确定。
但是最后发出的包(第三次),没法知道对方是接收到,还是没接收到。
第一次请求建立连接。服务器端角度:知道自己有接收能力,客户端有发送能力。但是不知道客户端是否有接收能力,服务器端是否有发送能力。
第二次发送ACK。客服端角度:知道自己有接收能力,知道自己有发送能力。知道服务器有发送能力,知道服务器有接收能力。
第三次发送ACK。服务器角度:知道自己有接收能力,知道自己有发送能力。知道客服端有发送能力,知道客服端有接收能力。